package com.cal.calonecal.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cal.calonecal.common.Response;
import com.cal.calonecal.pojo.entity.Choose;
import com.cal.calonecal.pojo.entity.Problem;
import com.cal.calonecal.pojo.entity.Tag;

import java.util.List;

/**
 * @author 76004
 * @apiNote
 * @date 2023/6/17 0:15
 */
public interface IProblemService {
    public Response<Void>add(Problem problem);

    public Response<Void>delete(Long id);

    public Response<Void>update(Problem problem);

    public Response<IPage<Problem>>selectByUserId(Integer pageNum, Integer pageSize);

    public Response<IPage<Problem>>selectPage(Integer pageNum, Integer pageSize);

    public Response<Problem>selectById(long id);

    public Response<List<Problem>>selectByPaperId(long paperId);

    public Response<Void>addTag2Problem(String tagName, long problemId);

    public Response<IPage<Problem>>selectByTagId(long tagId, Integer pageNum, Integer pageSize);

    public Response<IPage<Problem>>selectByTagName(String tagName, Integer pageNum, Integer pageSize);

    Response addChoose(Choose choose);

    Response delChoose(Long choseId);

    Response addTag(Tag tag, Long problemId);

    Response delTag(String tagName, Long problemId);
}
